package com.cz.video.common.vod.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * {@code @Description} : 视频信息
 * {@code @Author} : 陈智
 * {@code @Date}: 2023/10/19  17:02
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "视频信息")
public class VideoInfo {

    @Schema(description = "视频ID")
    private String videoId;

    @Schema(description = "视频存储位置")
    private String storageLocation;

    @Schema(description = "视频创建时间")
    private String creationTime;

    @Schema(description = "视频状态")
    private String status;

    @Schema(description = "分类ID")
    private int cateId;

    @Schema(description = "视频标签")
    private String tags;

    @Schema(description = "视频修改时间")
    private String modificationTime;

    @Schema(description = "地域ID")
    private String regionId;

    @Schema(description = "自定义媒体信息")
    private String customMediaInfo;

    @Schema(description = "分类名称")
    private String cateName;

    @Schema(description = "视频描述")
    private String description;

    @Schema(description = "应用ID")
    private String appId;

    @Schema(description = "视频大小")
    private long size;

    @Schema(description = "视频封面URL")
    private String coverURL;

    @Schema(description = "视频转码模板组ID")
    private String templateGroupId;

    @Schema(description = "视频时长")
    private double duration;

    @Schema(description = "视频标题")
    private String title;

    @Schema(description = "审核状态")
    private String auditStatus;

    @Schema(description = "视频快照URL")
    private List<String> snapshots;

    @Schema(description = "视频存储类型")
    private String storageClass;

    @Schema(description = "视频恢复状态")
    private String restoreStatus;

    @Schema(description = "视频恢复过期时间")
    private String restoreExpiration;
}
